package juc;

//函数式接口
@FunctionalInterface
interface Foo{
//    public void sayHello();
    public int add(int x,int y);

    default int div(int x,int y){
        return x+y;
    }

    public static int mv(int x,int y){
        return x * y;
    }
}

/**
 * default接口里方法的默认实现
 * 函数式接口里面可以允许多个default实现
 *
 * 静态方法实现(允许有多个静态方法实现)
 */
public class LambdaExpressDemo {

    public static void main(String args[]){

//        Foo foo = new Foo() {
//            @Override
//            public void sayHello() {
//                System.out.println("hello");
//            }
//        };
//        foo.sayHello();

//        Foo foo = () -> {
//            System.out.println("hello");
//        };
//        foo.sayHello();

        Foo foo = (x,y) -> {

            System.out.println("------");
            return x + y;

        };
        System.out.println(foo.add(1, 2));

        System.out.println(foo.div(3, 4));

        System.out.println(Foo.mv(5, 6));
    }

}
